代码实现矩阵求逆的三种方式(超详细、已实现)

您所在的位置:网站首页 矩阵Aa11 求P1000A 代码实现矩阵求逆的三种方式(超详细、已实现)

代码实现矩阵求逆的三种方式(超详细、已实现)

2023-09-12 09:26| 来源: 网络整理| 查看: 265

一、高斯消元法

         对于任意一个矩阵Anxn,其满足。基于此,高斯消元法具体步骤是先构造一个增广矩阵W=[A | E],则W为一个n x 2n的矩阵。我们需要对矩阵W进行矩阵行之间的变换,将其变为 [E|B] 的形势,如果能够成功变换,则B就为A矩阵的逆矩阵。

具体操作过程如下:

         (1)、将初始矩阵A右半部分进行扩增,得到矩阵W= [A | E],W为 nx2n。

         (2)、将首行作为基准,从上往下做行变换,将W前半部分转化为一个上三角矩阵。

         (3)、将W前半部分由上三角矩阵转化为对角矩阵。

         (4)、对W前半部分的对角矩阵乘以一个系数将其转化为单位矩阵。

         (5)、提出W矩阵的后半部分,就得到了我们想要的A矩阵的逆矩阵。

         转化过程中,如果发现W矩阵前半部分不能单位化,则判定A矩阵无可逆矩阵。

  具体代码实现如下:

//使用高斯消元法对矩阵进行求逆 void Gaussian_elimination(int arr[N][N]) { int i, j, k; float W[N][2*N], result[N][N]; float tem_1, tem_2, tem_3; // 对矩阵右半部分进行扩增 for(i = 0;i < N; i++){ for(j = 0;j < 2 * N; j++){ if(j


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3